package com.lovo.javafxComponent;

import javafx.scene.control.Label;
import javafx.scene.control.PasswordField;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;

/**
 * 密码框组件
 * @author lenovo
 *
 */
public class LovoPassword extends PasswordField{
	/**错误提示标签*/
	private Label infoLabel = new Label("");
	/**
	 * 标题密码框构造方法
	 * @param title 标题
	 * @param x 组件X坐标
	 * @param y 组件Y坐标
	 * @param container 加入的容器
	 */
	public LovoPassword(String title,int x,int y,Pane container) {
		Label label = new Label(title);
		label.setLayoutX(x);
		label.setLayoutY(y);
		label.setPrefWidth(120);
		label.setPrefHeight(20);
		label.setFont(new Font(16));
		
		this.setLayoutX(x + 120);
		this.setLayoutY(y);
		this.setPrefWidth(150);
		this.setPrefHeight(20);
		
		infoLabel.setFont(new Font(12));
		infoLabel.setLayoutX(x+120);
		infoLabel.setLayoutY(y+30);
		infoLabel.setTextFill(new Color(1,0,0,1));
		container.getChildren().add(infoLabel);
		container.getChildren().add(label);
		container.getChildren().add(this);
	}
	
	/**
	 * 图片密码框构造方法
	 * @param x 组件X坐标
	 * @param y 组件Y坐标
	 * @param url 图片URL路径
	 * @param container 加入容器
	 */
	public LovoPassword(int x,int y,String url,Pane container) {
		new LovoImage(url, x, y, 50, 50, container);
		
		this.setLayoutX(x + 100);
		this.setLayoutY(y+10);
		this.setPrefWidth(150);
		this.setPrefHeight(30);
		
		infoLabel.setFont(new Font(12));
		infoLabel.setLayoutX(x+100);
		infoLabel.setLayoutY(y+40);
		infoLabel.setTextFill(new Color(1,0,0,1));
		
		container.getChildren().add(infoLabel);
		container.getChildren().add(this);
	}
	
	/**
	 * 设置错误信息
	 * @param errorInfo 错误信息
	 */
	public void setErrorInfo(String errorInfo) {
		this.infoLabel.setText(errorInfo);
	}
	/**
	 * 得到错误信息
	 * @return 错误信息
	 */
	public String getErrorInfo() {
		return this.infoLabel.getText();
	}
}
